package org.web.base.domain.helper;

import java.util.*;


public class SetHelper {

    /**
     * 判断一个字符串集合是否包含另一个字符串集合的所有元素
     * @param superset 可能的超集
     * @param subset 可能的子集
     * @return 如果superset包含subset的所有元素，返回true；否则返回false
     */
    public static boolean containsAll(Set<String> superset, Set<String> subset) {
        return superset.containsAll(subset);
    }

    /**
     * 查找source集合中存在但target集合中不存在的元素
     * @param source 源集合
     * @param target 目标集合
     * @return 返回一个新Set，包含所有在source中但不在target中的元素
     */
    public static Set<String> findMissingElements(Set<String> source, Set<String> target) {
        Set<String> result = new HashSet<>(source);
        result.removeAll(target);
        return result;
    }

    /**
     * 将集合元素连接成字符串，使用指定分隔符
     * @param set 字符串集合
     * @param delimiter 分隔符
     * @return 连接后的字符串，如果集合为空则返回空字符串
     */
    public static String join(Set<String> set, String delimiter) {
        if (set == null || set.isEmpty()) {
            return "";
        }
        return String.join(delimiter, set);
    }

}
